package org.jeecg.modules.flowable.system.service.fs;

import org.jeecg.modules.flowable.common.fs.FsDataResult;
import org.jeecg.modules.flowable.system.exception.LnchSystemException;

import java.util.Map;


/**
* Title:  文件服务信息登记<br>
* Desc:  <br>
* Date: 2019年3月27日 <br>
* Company: 联通（辽宁）产业互联网有限公司司 <br>
* 
* @author zxd
* @version 1.0.0.0
*/ 
public interface FsManagerService {
	/**  
	* Desc: 文件信息登记
	* @param argFsId 文件服务器ID
	* @param argSysFileType 系统文件类型 com.unicom.core.fs.dic
	* @param argFsDataResult 文件数据描述
	* @return 文件登记ID
	* @throws LnchSystemException
	* @author zxd
	*/
	public String fileReg(String argFsId, Integer argSysFileType, FsDataResult argFsDataResult) throws LnchSystemException;

	/**
	* Desc: 批量文件信息登记
	* @param argFsId 文件服务器ID
	* @param argFsDataResultAndFileType KEY FsDataResult VALUE SysFileType
	* @return Key文件登记信息ID 与 VALUE文件数据对象
	* @throws LnchSystemException
	* @author zxd
	*/
	public Map<String,FsDataResult> fileReg(String argFsId, Map<FsDataResult, Integer> argFsDataResultAndFileType) throws LnchSystemException;
	/**  
	* Desc: 跟据文件ID返回文件URL访问地址
	* @param argFlId 文件ID
	* @return
	* @throws LnchSystemException
	* @author zxd
	*/
	public String getUrl(String argFlId) throws LnchSystemException;

	/**
	 * 组装url
	 * @param argFsId 文件服务ID
	 * @param argUri 文件URI
	 * @param argIsFocus 刷新服务列表，如果不刷新则从缓存读
	 * @return
	 */
	public String getUrl(String argFsId, String argUri, Boolean argIsFocus);

	/**
	 * 获取缓存Http前缀
	 * @param fsId
	 * @return
	 */
	public String getHttpAddrById(String fsId);
}
